//处理日期
import dayjs from 'dayjs';

// 加载中文语言包
import 'dayjs/locale/zh-cn';

import relativeTime from 'dayjs/plugin/relativeTime';
// 配置使用处理相对时间的插件
dayjs.extend(relativeTime);

// 配置使用中文语言包
dayjs.locale('zh-cn');

//格式化数字
export function getCount(count: number) {
  if (count < 0) return;
  if (count < 10000) {
    return count;
  } else if (Math.floor(count / 10000) < 10000) {
    return Math.floor(count / 1000) / 10 + '万';
  } else {
    return Math.floor(count / 10000000) / 10 + '亿';
  }
}
//获取一个有尺寸的图片
export function getSizeImage(imgUrl: string, size: number) {
  return ` ${imgUrl}?param=${size}y${size}`;
}
//时间格式化
export function formatDate(time: number, fmt: string) {
  let newFmt = fmt;
  const date: Date = new Date(time);

  if (/(y+)/.test(newFmt)) {
    newFmt = newFmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  }
  const o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds(),
  };
  for (const k in o) {
    if (new RegExp(`(${k})`).test(newFmt)) {
      const str = o[k] + '';
      newFmt = newFmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str));
    }
  }
  return newFmt;
}

function padLeftZero(str: string) {
  return ('00' + str).substr(str.length);
}

export function formatMonthDay(time: number) {
  return formatDate(time, 'MM月dd日');
}

export function formatMinuteSecond(time: number) {
  return formatDate(time, 'mm:ss');
}
//通过id获取对应的歌曲
export function getPlaySong(id: number) {
  return `https://music.163.com/song/media/outer/url?id=${id}.mp3`;
}
// 全局过滤器：处理相对时间
export function formatDateTool(value: dayjs.ConfigType) {
  //这比较时不知道为什么总是false 得重新赋值才行
  const values = value;
  if (values && values > 1630627177447) {
    return dayjs(value).format('YYYY-MM-DD');
  } else {
    return dayjs().to(dayjs(value));
  }
}
